﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200036A RID: 874
	public class TUnpivotInClauseItem : TParseTreeNode
	{
		// Token: 0x170007CE RID: 1998
		// (get) Token: 0x0600245A RID: 9306 RVA: 0x00338BFC File Offset: 0x00336DFC
		// (set) Token: 0x0600245B RID: 9307 RVA: 0x00338C04 File Offset: 0x00336E04
		public virtual TObjectName Column
		{
			get
			{
				return this.column;
			}
			set
			{
				this.column = value;
			}
		}

		// Token: 0x170007CF RID: 1999
		// (get) Token: 0x0600245C RID: 9308 RVA: 0x00338C0D File Offset: 0x00336E0D
		// (set) Token: 0x0600245D RID: 9309 RVA: 0x00338C15 File Offset: 0x00336E15
		public virtual TObjectNameList ColumnList
		{
			get
			{
				return this.columnList;
			}
			set
			{
				this.columnList = value;
			}
		}

		// Token: 0x170007D0 RID: 2000
		// (get) Token: 0x0600245E RID: 9310 RVA: 0x00338C1E File Offset: 0x00336E1E
		// (set) Token: 0x0600245F RID: 9311 RVA: 0x00338C26 File Offset: 0x00336E26
		public virtual TConstant Constant
		{
			get
			{
				return this.constant;
			}
			set
			{
				this.constant = value;
			}
		}

		// Token: 0x170007D1 RID: 2001
		// (get) Token: 0x06002460 RID: 9312 RVA: 0x00338C2F File Offset: 0x00336E2F
		// (set) Token: 0x06002461 RID: 9313 RVA: 0x00338C37 File Offset: 0x00336E37
		public virtual List<TConstant> ConstantList
		{
			get
			{
				return this.constantList;
			}
			set
			{
				this.constantList = value;
			}
		}

		// Token: 0x06002462 RID: 9314 RVA: 0x00338C40 File Offset: 0x00336E40
		public override void init(object arg1)
		{
			if (arg1 is TObjectName)
			{
				this.column = (TObjectName)arg1;
				return;
			}
			if (arg1 is TObjectNameList)
			{
				this.columnList = (TObjectNameList)arg1;
			}
		}

		// Token: 0x06002463 RID: 9315 RVA: 0x00338C6C File Offset: 0x00336E6C
		public override void init(object arg1, object arg2)
		{
            init(arg1);
            if (arg2 != null)
            {
                TDummy tDummy = (TDummy)arg2;
                if (tDummy.node1 is TConstant)
                {
                    constant = (TConstant)tDummy.node1;
                }
                else if (tDummy.node1 is List<TConstant>)
                {
                    constantList = (List<TConstant>)(object)tDummy.node1;
                }
            }
        }

		// Token: 0x06002464 RID: 9316 RVA: 0x00338CC7 File Offset: 0x00336EC7
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002465 RID: 9317 RVA: 0x00338CD7 File Offset: 0x00336ED7
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001C6E RID: 7278
		private TObjectName column;

		// Token: 0x04001C6F RID: 7279
		private TObjectNameList columnList;

		// Token: 0x04001C70 RID: 7280
		private TConstant constant;

		// Token: 0x04001C71 RID: 7281
		private List<TConstant> constantList;
	}
}
